package main

// import (
// 	"kugo/chess/proto"
// 	"kugo/log"
// 	"kugo/utils"
// )

// func searchDaLian() []*proto.ChessPoint {
// 	daLianPoints := []*proto.ChessPoint{}
// 	chessData := [][]int{
// 		{2, 2, 2, 2, 1, 1, 1, 1},
// 		{2, 2, 1, 2, 1, 1, 1, 1},
// 		{1, 1, 1, 1, 1, 1, 1, 1},
// 		{1, 1, 1, 2, 2, 1, 1, 1},
// 		{1, 1, 1, 2, 1, 1, 1, 1},
// 		{1, 1, 1, 1, 2, 2, 1, 1},
// 		{1, 2, 1, 2, 2, 2, 1, 1},
// 		{1, 2, 2, 2, 2, 1, 1, 1},
// 	}
// 	rows := len(chessData)
// 	cols := len(chessData[0])

// 	// 检查是否符合褡裢的条件
// 	isDaLian := func(row, col int) bool {
// 		color := chessData[row][col]
// 		return chessData[row][col+1] == color && chessData[row+1][col] == color && chessData[row+1][col+1] == color
// 	}

// 	// 检查周围是否有空位
// 	isEmpty := func(row, col int) bool {
// 		if row < 0 || row >= rows || col < 0 || col >= cols {
// 			return false
// 		}
// 		return chessData[row][col] == 1
// 	}

// 	// 检查直角三点的颜色是否相同且不与中心点相邻
// 	checkRightAngle := func(centerRow, centerCol, emptyRow, emptyCol, color int) bool {
// 		rightAngles := [][3][2]int{
// 			{{emptyRow - 1, emptyCol}, {emptyRow - 1, emptyCol + 1}, {emptyRow, emptyCol + 1}}, // 上
// 			{{emptyRow, emptyCol + 1}, {emptyRow + 1, emptyCol + 1}, {emptyRow + 1, emptyCol}}, // 右
// 			{{emptyRow + 1, emptyCol}, {emptyRow + 1, emptyCol - 1}, {emptyRow, emptyCol - 1}}, // 下
// 			{{emptyRow, emptyCol - 1}, {emptyRow - 1, emptyCol - 1}, {emptyRow - 1, emptyCol}}, // 左
// 		}
// 		for _, points := range rightAngles {
// 			match := true
// 			for _, point := range points {
// 				r, c := point[0], point[1]
// 				if r < 0 || r >= rows || c < 0 || c >= cols || chessData[r][c] != color {
// 					match = false
// 					break
// 				}
// 				if r == centerRow && centerCol == c {
// 					match = false
// 					break
// 				}
// 			}
// 			if match {
// 				return true
// 			}
// 		}
// 		return false
// 	}

// 	for row := 0; row < rows-1; row++ {
// 		for col := 0; col < cols-1; col++ {
// 			if chessData[row][col] != 2 && chessData[row][col] != 3 {
// 				continue
// 			}
// 			if isDaLian(row, col) {
// 				neighbors := [][2]int{{row, col}, {row + 1, col}, {row, col + 1}, {row + 1, col + 1}}
// 				for _, neighbor := range neighbors {
// 					emptyPoints := [][2]int{{neighbor[0] + 1, neighbor[1]}, {neighbor[0] - 1, neighbor[1]}, {neighbor[0], neighbor[1] + 1}, {neighbor[0], neighbor[1] - 1}}
// 					for _, emptyPoint := range emptyPoints {
// 						emptyRow, emptyCol := emptyPoint[0], emptyPoint[1]
// 						if isEmpty(emptyRow, emptyCol) {
// 							// log.ErrLog("%d,%d", emptyRow, emptyCol)
// 							if checkRightAngle(neighbor[0], neighbor[1], emptyRow, emptyCol, chessData[row][col]) {
// 								point := &proto.ChessPoint{Row: emptyRow, Col: emptyCol}
// 								exists := false
// 								for _, p := range daLianPoints {
// 									if p.Row == point.Row && p.Col == point.Col {
// 										exists = true
// 										break
// 									}
// 								}
// 								if !exists {
// 									daLianPoints = append(daLianPoints, point)
// 								}
// 							}
// 						}
// 					}
// 				}
// 			}
// 		}
// 	}
// 	return daLianPoints
// }

// func main() {
// 	points := searchDaLian()
// 	for i := 0; i < len(points); i++ {
// 		log.Debug("%d,%s", i, utils.Struct2JSON(points[i]))
// 	}
// }
